//constexpr 是 C++11 引入的一个非常重要的关键字，它的主要作用是将计算从 运行时 转移到 编译时，从而提升程序性能。下面是它的核心作用和应用场景：
#include <iostream>
constexpr int square(int x) { return x * x; }


template<int N> 
struct Factorial {
    static constexpr int value = N * Factorial<N-1>::value;
};
int main() {
    int arr[square(5)];  // 数组大小在编译时就确定为25
}